Skip to content

作品五:RBAC 权限管理系统

在线体验

打开作品:RBAC 权限系统(新标签页)

一、定位与价值

视角说明
安全基于角色的访问控制(RBAC):用户—角色—权限—菜单/按钮/API
管理后台统一维护组织、账号、授权策略,减少硬编码权限
合规操作审计、敏感动作二次校验等可按模块扩展

对应仓库:projects/rbac-management(Vue 3 管理端 + NestJS + TypeORM + Redis)。

二、逻辑架构(摘要)

text
浏览器(/rbac/)

Nginx → 静态 SPA
        ↓ Authorization: Bearer <JWT>
NestJS(/api-rbac/)

MySQL(用户 / 角色 / 权限 / 菜单)
Redis(Token 黑名单、TTL 与 JWT 有效期对齐)
  • 登录态Passport JWT;登出将令牌置入 Redis 黑名单,防止客户端删 Token 仍可用。
  • 数据同步:示例环境可能开启 DB_SYNC(生产务必改为迁移与严控)。

三、技术栈

层级技术
前端Vue 3、TypeScript、Pinia、Element Plus、动态路由 / 菜单
后端NestJS、TypeORM、bcryptclass-validator、Winston
缓存ioredis(黑名单与热点可选)

四、多维说明

角度内容
产品菜单树、按钮级权限、数据权限(可按行扩展)
前端路由守卫 + 指令/组件控制按钮显示;避免仅靠前端隐藏
后端每一鉴权接口 校验角色与策略;不信任前端传的 role
审计登录 / 授权变更 / 敏感操作日志